home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Tools - Objects / MacApp / MacApp 3.0a2 / CPlusIncludes / Events.h < prev    next >
Text File  |  1991-05-01  |  3KB  |  138 lines

  1. /************************************************************
  2.  
  3. Created: Monday, January 14, 1991 at 4:39 PM
  4.     Events.h
  5.     C Interface to the Macintosh Libraries
  6.  
  7.  
  8.         Copyright Apple Computer, Inc.    1985-1989
  9.         All rights reserved
  10.  
  11. ************************************************************/
  12.  
  13.  
  14. #ifndef __EVENTS__
  15. #define __EVENTS__
  16.  
  17. #ifndef __TYPES__
  18. #include <Types.h>
  19. #endif
  20.  
  21. #ifndef __GEOMETRY__
  22. #include <Geometry.h>
  23. #endif
  24.  
  25. #ifndef __QUICKDRAW__
  26. #include <Quickdraw.h>
  27. #endif
  28.  
  29.  
  30. enum {
  31.  
  32.     nullEvent = 0,
  33.     mouseDown = 1,
  34.     mouseUp = 2,
  35.     keyDown = 3,
  36.     keyUp = 4,
  37.     autoKey = 5,
  38.     updateEvt = 6,
  39.     diskEvt = 7,
  40.     activateEvt = 8,
  41.     osEvt = 15,
  42.  
  43. /* event mask equates */
  44.     mDownMask = 2,
  45.     mUpMask = 4,
  46.     keyDownMask = 8,
  47.     keyUpMask = 16,
  48.     autoKeyMask = 32,
  49.     updateMask = 64,
  50.     diskMask = 128,
  51.     activMask = 256,
  52.     highLevelEventMask = 1024,
  53.     osMask = -32768
  54. };
  55. enum {
  56.     everyEvent = -1,
  57.  
  58. /* event message equates */
  59.     charCodeMask = 0x000000FF,
  60.     keyCodeMask = 0x0000FF00,
  61.     adbAddrMask = 0x00FF0000,
  62.     osEvtMessageMask = 0xFF000000,
  63.  
  64. /* OSEvent Messages */
  65.     mouseMovedMessage = 0xFA,
  66.     suspendResumeMessage = 0x01,
  67.     resumeFlag = 1,             /* bit 0 of message indicates resume vs suspend */
  68.     convertClipboardFlag = 2,   /* bit 1 in resume message indicates clipboard change */
  69.  
  70. /* modifiers */
  71.     activeFlag = 1,             /*bit 0 of modifiers for activate event*/
  72.     btnState = 128,             /*Bit 7 of low byte is mouse button state*/
  73.     cmdKey = 256,               /*Bit 0*/
  74.     shiftKey = 512,             /*Bit 1*/
  75.     alphaLock = 1024,           /*Bit 2 */
  76.     optionKey = 2048,           /*Bit 3 of high byte*/
  77.     controlKey = 4096,
  78.  
  79. /* obsolete equates*/
  80.     networkEvt = 10,
  81.     driverEvt = 11,
  82.     app1Evt = 12,
  83.     app2Evt = 13
  84. };
  85. enum {
  86.     app3Evt = 14,
  87.     app4Evt = 15,
  88.     networkMask = 1024,
  89.     driverMask = 2048,
  90.     app1Mask = 4096,
  91.     app2Mask = 8192,
  92.     app3Mask = 16384,
  93.     app4Mask = -32768
  94. };
  95.  
  96. struct EventRecord {
  97.     short what;
  98.     long message;
  99.     long when;
  100.     SimplePoint where;
  101.     short modifiers;
  102. };
  103.  
  104. typedef struct EventRecord EventRecord;
  105.  
  106.  
  107. typedef long KeyMap[4];
  108.  
  109. #ifdef __cplusplus
  110. extern "C" {
  111. #endif
  112. pascal Boolean GetNextEvent(short eventMask,EventRecord& theEvent)
  113.     = 0xA970; 
  114. pascal Boolean WaitNextEvent(short eventMask,EventRecord& theEvent,unsigned long sleep,
  115.     RgnHandle mouseRgn)
  116.     = 0xA860; 
  117. pascal Boolean EventAvail(short eventMask,EventRecord& theEvent)
  118.     = 0xA971; 
  119. pascal void GetMouse(Point& mouseLoc)
  120.     = 0xA972; 
  121. pascal Boolean Button(void)
  122.     = 0xA974; 
  123. pascal Boolean StillDown(void)
  124.     = 0xA973; 
  125. pascal Boolean WaitMouseUp(void)
  126.     = 0xA977; 
  127. pascal void GetKeys(KeyMap& theKeys)
  128.     = 0xA976; 
  129. pascal unsigned long TickCount(void)
  130.     = 0xA975; 
  131. #define GetDblTime() (* (unsigned long*) 0x02F0)
  132. #define GetCaretTime() (* (unsigned long*) 0x02F4)
  133. #ifdef __cplusplus
  134. }
  135. #endif
  136.  
  137. #endif
  138.